﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace StructuredClient
{
    public interface IVolanoFactory
    {
        event EventHandler GotMessage;

        VolanoConnectionDetails ConnectionDetails
        {
            get;
            set;
        }

        VolanoConnectionState ConnectionState
        {
            get;
            set;
        }

        VolanoClient VolanoClient
        {
            get;
            set;
        }

        void Connect();

        void Disconnect();

        void SendAuthentification();

        void GetUserList();

        void GetChannelList();

        void SendMessage(VolanoMessageBase Message);
    }
}
